﻿// JScript File


function OrderInteraction(owner)
{
    this.owner = owner;
    var xmldom = CreateXmlDOM();
    this.Interact = function(event)
    {            
        var aEvent = event ? event : window.event;        
        var inp = aEvent.srcElement ? aEvent.srcElement : aEvent.target;
        if (inp.id == "up")
        {   
        // следующие две строки зависят от интерфейса!       
            var curNode = inp.parentNode.nextSibling; //узел, на который нажали                         
            var upperNode = curNode.parentNode.previousSibling.previousSibling.previousSibling.firstChild.nextSibling;  //узел выше того, которого нажали                                                    
            
            var bufHTML = upperNode.innerHTML;
            var bufID = upperNode.id;            
            upperNode.id = curNode.id;
            upperNode.innerHTML = curNode.innerHTML;
            curNode.id = bufID;
            curNode.innerHTML = bufHTML;    
            var urNode = this.owner.xml.getElementsByTagName("userResponse")[0]; 
            for (var i=0; i<urNode.childNodes.length; i++)
            {
                if (!isMozilla ? (urNode.childNodes[i].text == upperNode.id) : (urNode.childNodes[i].textContent == upperNode.id))
                {                              
                    if (!isMozilla)
                    {      
                        urNode.childNodes[i-1].text = upperNode.id;
                        urNode.childNodes[i].text = curNode.id;         
                    }
                    else
                    {      
                        urNode.childNodes[i-1].textContent = upperNode.id;
                        urNode.childNodes[i].textContent = curNode.id;         
                    }
                    break;                           
                }
            }                            
        }
        else
        {   
                // следующие две строки зависят от интерфейса!       
            var curNode = inp.parentNode.parentNode.previousSibling.firstChild.nextSibling; //узел, на который нажали                                     
            var downerNode = curNode.parentNode.nextSibling.nextSibling.nextSibling.firstChild.nextSibling;  //узел выше того, которого нажали                                                         
            
            var bufHTML = downerNode.innerHTML;
            var bufID = downerNode.id;         
            downerNode.id = curNode.id;
            downerNode.innerHTML = curNode.innerHTML;
            curNode.id = bufID;
            curNode.innerHTML = bufHTML;                                                                            
            var urNode = this.owner.xml.getElementsByTagName("userResponse")[0]; 
            for (var i=0; i<urNode.childNodes.length; i++)
            {
                if (!isMozilla ? (urNode.childNodes[i].text == downerNode.id) : (urNode.childNodes[i].textContent == downerNode.id))
                {                              
                    if (!isMozilla)    
                    {
                        urNode.childNodes[i+1].text = downerNode.id;
                        urNode.childNodes[i].text = curNode.id;                                    
                    }
                    else
                    {
                        urNode.childNodes[i+1].textContent = downerNode.id;
                        urNode.childNodes[i].textContent = curNode.id;                                    
                    }
                    break;
                }
            }    
        }        
    }        
}
   
function OrderRendering(owner)
{
    this.owner = owner;
    
    this.Render = function()
    {
        try
        {
            var html = "";
            html += TransformNode(this.owner.xml, "xslt/ItemHeader.xsl.aspx");
            var itemBody = this.owner.xml.getElementsByTagName("itemBody")[0];            
            var p = itemBody.getElementsByTagName("p");            
            if (p.length > 0)
                html += SerializeXmlNode(p[0]);
            html += TransformNode(this.owner.xml, "xslt/OrderInteraction.xsl");
            return html;
        }
        catch (e)
        {
            ShowMessage(QTICommon_QuestionRenderingError + (e.message == undefined ? e : e.message));
        }
    }
}
